package edu.uwlax.cs.oayonlinestore.client.gui;

import edu.uwlax.cs.oayonlinestore.client.gui.admin.PageAdminCategories;
import edu.uwlax.cs.oayonlinestore.client.gui.admin.PageAdminEditAccount;
import edu.uwlax.cs.oayonlinestore.client.gui.admin.PageAdminEditCategory;
import edu.uwlax.cs.oayonlinestore.client.gui.admin.PageAdminIndustrialCustomer;
import edu.uwlax.cs.oayonlinestore.client.gui.admin.PageAdminListAccounts;
import edu.uwlax.cs.oayonlinestore.client.gui.myaccount.PageUserEditAccount;
import edu.uwlax.cs.oayonlinestore.client.gui.myaccount.PageUserListOrders;
import edu.uwlax.cs.oayonlinestore.client.gui.myaccount.PageUserViewOrder;
import edu.uwlax.cs.oayonlinestore.client.gui.salesdept.PageSalEditPrices;
import edu.uwlax.cs.oayonlinestore.client.gui.salesdept.PageSalGiftcards;
import edu.uwlax.cs.oayonlinestore.client.gui.salesdept.PageSalInventoryReport;
import edu.uwlax.cs.oayonlinestore.client.gui.salesdept.PageSalListRetexForms;
import edu.uwlax.cs.oayonlinestore.client.gui.salesdept.PageSalOrders;
import edu.uwlax.cs.oayonlinestore.client.gui.salesdept.PageSalRetexEdit;
import edu.uwlax.cs.oayonlinestore.client.gui.salesdept.PageSalSalesReport;
import edu.uwlax.cs.oayonlinestore.client.gui.shop.PageAdminOrder;
import edu.uwlax.cs.oayonlinestore.client.gui.shop.PageShop;
import edu.uwlax.cs.oayonlinestore.client.gui.shop.PageTrack;
import edu.uwlax.cs.oayonlinestore.client.gui.shop.PageShop.ShopPanel;
import edu.uwlax.cs.oayonlinestore.client.gui.stock.PageStockCategoryList;
import edu.uwlax.cs.oayonlinestore.client.gui.stock.PageStockEditItem;
import edu.uwlax.cs.oayonlinestore.client.gui.stock.PageStockEditItemList;
import edu.uwlax.cs.oayonlinestore.client.gui.stock.PageStockEditSubcategory;
import edu.uwlax.cs.oayonlinestore.client.gui.stock.PageStockSubcategoryList;
import edu.uwlax.cs.oayonlinestore.client.utils.StackPage;
import edu.uwlax.cs.oayonlinestore.client.utils.StackPanel;

public class MainPanel extends StackPanel {

	private PageAdminCategories adminCategories = new PageAdminCategories();

	private PageAdminEditAccount adminEditAcc = new PageAdminEditAccount();

	private PageAdminEditCategory adminEditCategory = new PageAdminEditCategory();

	private PageAdminIndustrialCustomer adminIndust = new PageAdminIndustrialCustomer();

	private PageAdminListAccounts adminListAcc = new PageAdminListAccounts();

	private PageCreateAccount createAcc = new PageCreateAccount();

	private PageHome home = new PageHome();

	private PageSalGiftcards salGiftCards = new PageSalGiftcards();

	private PageSalInventoryReport salInventoryRep = new PageSalInventoryReport();

	private PageSalListRetexForms salListRetex = new PageSalListRetexForms();

	private PageAdminOrder salOrder = new PageAdminOrder();

	private PageSalOrders salOrders = new PageSalOrders();

	private PageSalEditPrices salPrices = new PageSalEditPrices();

	private PageSalRetexEdit salRetex = new PageSalRetexEdit();

	private PageSalSalesReport salSalesRep = new PageSalSalesReport();

	private PageShop shop = new PageShop();
	private PageTrack track = new PageTrack();

	private PageStockCategoryList stockCategories = new PageStockCategoryList();

	private PageStockEditItem stockEditItem = new PageStockEditItem();

	private PageStockEditSubcategory stockEditSubcategory = new PageStockEditSubcategory();

	private PageStockEditItemList stockItems = new PageStockEditItemList();

	private PageStockSubcategoryList stockSubcategories = new PageStockSubcategoryList();

	private PageTest test = new PageTest();

	private PageUserEditAccount usrEditAcc = new PageUserEditAccount();

	private PageUserListOrders usrListOrders = new PageUserListOrders();

	private PageUserViewOrder usrViewOrder = new PageUserViewOrder();

	public MainPanel(StackPage parent) {
		super(parent);
		add(home);
		add(test);
		add(shop);
		add(track);
		add(createAcc);
		add(adminCategories);
		add(adminIndust);
		add(adminEditAcc);
		add(adminEditCategory);
		add(adminListAcc);
		add(usrEditAcc);
		add(usrListOrders);
		add(usrViewOrder);
		add(salGiftCards);
		add(salOrders);
		add(salInventoryRep);
		add(salListRetex);
		add(salRetex);
		add(salSalesRep);
		add(salOrder);
		add(stockCategories);
		add(stockItems);
		add(stockEditItem);
		add(salPrices);
		add(stockSubcategories);
		add(stockEditSubcategory);
	}

	public PageAdminCategories getAdminCategories() {
		return adminCategories;
	}

	public PageAdminEditAccount getAdminEditAcc() {
		return adminEditAcc;
	}

	public PageAdminEditCategory getAdminEditCategory() {
		return adminEditCategory;
	}

	public PageAdminIndustrialCustomer getAdminIndust() {
		return adminIndust;
	}

	public PageAdminListAccounts getAdminListAcc() {
		return adminListAcc;
	}

	public PageCreateAccount getCreateAcc() {
		return createAcc;
	}

	public PageHome getHome() {
		return home;
	}

	public PageSalGiftcards getSalGiftCards() {
		return salGiftCards;
	}

	public PageSalInventoryReport getSalInventoryRep() {
		return salInventoryRep;
	}

	public PageSalListRetexForms getSalListRetex() {
		return salListRetex;
	}

	public PageAdminOrder getSalOrder() {
		return salOrder;
	}

	public PageSalOrders getSalOrders() {
		return salOrders;
	}

	public PageSalEditPrices getSalPrices() {
		return salPrices;
	}

	public PageSalRetexEdit getSalRetex() {
		return salRetex;
	}

	public PageSalSalesReport getSalSalesRep() {
		return salSalesRep;
	}

	public PageShop getShop() {
		return shop;
	}

	public PageTrack getTrack() {
		return track;
	}
	
	public ShopPanel getShopFrame() {
		return shop.getFrame();
	}

	public PageStockCategoryList getStockCategories() {
		return stockCategories;
	}

	public PageStockEditItem getStockEditItem() {
		return stockEditItem;
	}

	public PageStockEditSubcategory getStockEditSubcategory() {
		return stockEditSubcategory;
	}

	public PageStockEditItemList getStockItems() {
		return stockItems;
	}

	public PageStockSubcategoryList getStockSubcategories() {
		return stockSubcategories;
	}

	public PageTest getTest() {
		return test;
	}

	public PageUserEditAccount getUsrEditAcc() {
		return usrEditAcc;
	}

	public PageUserListOrders getUsrListOrders() {
		return usrListOrders;
	}

	public PageUserViewOrder getUsrViewOrder() {
		return usrViewOrder;
	}

}